import request from '@/utils/request'

/**
 * 获取学生列表
 * @param {Object} query 查询参数
 * @returns {Promise} 请求结果
 */
export function getStudentList(query) {
  return request({
    url: '/api/students/list',
    method: 'get',
    params: query
  })
}

/**
 * 获取学生详情
 * @param {Number} id 学生ID
 * @returns {Promise} 请求结果
 */
export function getStudentDetail(id) {
  return request({
    url: `/api/students/${id}`,
    method: 'get'
  })
}

/**
 * 添加学生
 * @param {Object} data 学生数据
 * @returns {Promise} 请求结果
 */
export function addStudent(data) {
  return request({
    url: '/api/students/add',
    method: 'post',
    data
  })
}

/**
 * 更新学生
 * @param {Object} data 学生数据
 * @returns {Promise} 请求结果
 */
export function updateStudent(data) {
  return request({
    url: '/api/students/update',
    method: 'put',
    data
  })
}

/**
 * 删除学生
 * @param {Number} id 学生ID
 * @returns {Promise} 请求结果
 */
export function deleteStudent(id) {
  return request({
    url: `/api/students/${id}`,
    method: 'delete'
  })
}

/**
 * 批量导入学生
 * @param {Array} students 学生列表
 * @returns {Promise} 请求结果
 */
export function importStudents(students) {
  return request({
    url: '/api/students/import',
    method: 'post',
    data: students
  })
}

/**
 * 获取学校下的学生列表
 * @param {Number} schoolId 学校ID
 * @returns {Promise} 请求结果
 */
export function getStudentsBySchoolId(schoolId) {
  return request({
    url: `/api/students/school/${schoolId}`,
    method: 'get'
  })
}

/**
 * 更新学生状态
 * @param {Number} id 学生ID
 * @param {Number} status 状态：0-启用，1-禁用
 * @returns {Promise} 请求结果
 */
export function updateStudentStatus(id, status) {
  return request({
    url: `/api/students/${id}/status/${status}`,
    method: 'post'
  })
}

/**
 * 重置学生密码
 * @param {Number} id 学生ID
 * @returns {Promise} 请求结果
 */
export function resetStudentPassword(id) {
  return request({
    url: `/api/students/${id}/reset-password`,
    method: 'post'
  })
} 